Technical computing environments are known that present a user, such as a scientist or engineer, with an environment that enables efficient analysis and generation of technical applications. For example, users may perform analyses, visualize data, and develop algorithms. Technical computing environments may allow a technical researcher or designer to efficiently and quickly perform tasks, such as research and product development.
Existing technical computing environments may be implemented as, or run in conjunction with, a graphically-based modeling environment. For example, in one existing graphically-based modeling environment, graphical simulation tools allow models to be built by connecting graphical blocks, where each block may represent an object associated with functionality and/or data. The technical computing environment and the graphically-based modeling environment may be a single, integrated application. Alternatively, the two may in some way be combined or linked with one another to present a graphical interface to the user.
Models generated with graphical modeling tools may, at some point, be implemented in a target environment. For example, the model may be converted to a specification for a hardware design or converted to a representation in a programming language, such as C++.
In some situations, a model that is intended for final implementation as a hardware design may be initially converted to computer code for testing and verification of the model during interaction with the larger system in which the model is to be used. For example, a company may create a model that implements a particular set of signal processing algorithms. The intended final target for the model may be as a portion of a semiconductor chip. In order to verify the model's interaction with the rest of the semiconductor chip, the company may wish to first convert the model to computer code that can be executed on a general purpose computer to simulate the final hardware circuit. The simulation may interact with the larger hardware or software system in which the model is to be used.
Tools are known to automatically convert models to computer code that can be simulated. However, in order to simulate the interaction of the model with the larger system, the designer may still be required to write custom interface code that provides an interface between the simulation of the model and the implementation of the larger system. Manually writing and maintaining the custom interface code can be a time consuming process for the developer.